<?php

namespace Pyaf\GymBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * PaqueteRutina
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="Pyaf\GymBundle\Repository\PaqueteRutinaRepository")
 */
class PaqueteRutina
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="nombre", type="string", length=200)
     */
    private $nombre;
    
    /**
     * @var string
     *
     * @ORM\Column(name="descripcion", type="text")
     */
    private $descripcion;
    
    /**
     * @var string
     *
     * @ORM\Column(name="codigo", type="string", length=20, nullable=true)
     */
    private $codigo;

    /**
     * @var boolean
     *
     * @ORM\Column(name="habilitado", type="boolean")
     */
    private $habilitado;

    /**
    * @ORM\ManyToMany(targetEntity="Rutina", inversedBy="paquetes_rutinas")
    * @ORM\JoinTable(name="paquetesrutinas_rutinas",
    *      joinColumns={@ORM\JoinColumn(name="paqueterutina_id", referencedColumnName="id")},
    *      inverseJoinColumns={@ORM\JoinColumn(name="rutina_id", referencedColumnName="id")}
    *      )
    */
    protected $rutinas;
    
    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set nombre
     *
     * @param string $nombre
     * @return PaqueteRutina
     */
    public function setNombre($nombre)
    {
        $this->nombre = $nombre;
    
        return $this;
    }

    /**
     * Get nombre
     *
     * @return string 
     */
    public function getNombre()
    {
        return $this->nombre;
    }

    /**
     * Set codigo
     *
     * @param string $codigo
     * @return PaqueteRutina
     */
    public function setCodigo($codigo)
    {
        $this->codigo = $codigo;
    
        return $this;
    }

    /**
     * Get codigo
     *
     * @return string 
     */
    public function getCodigo()
    {
        return $this->codigo;
    }

    /**
     * Set habilitado
     *
     * @param boolean $habilitado
     * @return PaqueteRutina
     */
    public function setHabilitado($habilitado)
    {
        $this->habilitado = $habilitado;
    
        return $this;
    }

    /**
     * Get habilitado
     *
     * @return boolean 
     */
    public function getHabilitado()
    {
        return $this->habilitado;
    }
    /**
     * Constructor
     */
    public function __construct()
    {
        $this->rutinas = new \Doctrine\Common\Collections\ArrayCollection();
    }
    
    /**
     * Add rutinas
     *
     * @param \Pyaf\GymBundle\Entity\Rutina $rutinas
     * @return PaqueteRutina
     */
    public function addRutina(\Pyaf\GymBundle\Entity\Rutina $rutinas)
    {
        $this->rutinas[] = $rutinas;
    
        return $this;
    }

    /**
     * Remove rutinas
     *
     * @param \Pyaf\GymBundle\Entity\Rutina $rutinas
     */
    public function removeRutina(\Pyaf\GymBundle\Entity\Rutina $rutinas)
    {
        $this->rutinas->removeElement($rutinas);
    }

    /**
     * Get rutinas
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getRutinas()
    {
        return $this->rutinas;
    }

    /**
     * Set descripcion
     *
     * @param string $descripcion
     * @return PaqueteRutina
     */
    public function setDescripcion($descripcion)
    {
        $this->descripcion = $descripcion;
    
        return $this;
    }

    /**
     * Get descripcion
     *
     * @return string 
     */
    public function getDescripcion()
    {
        return $this->descripcion;
    }
}